﻿namespace NSynx.FlowEngine.Interfaces
{
    using System;
    using System.Collections.Generic;
    using NSynx.FlowEngine.Enums;


    public interface IAction
    {
        Status Whatsup { get;}
        string ActionName { get; set; }
        void Execute();
        IList<IParam> InputParameters { get; set; }
        IList<IParam> OutputParameters { get; set; }
        void Execute(ISource source);
        void Execute(ISource source, IList<IParam> parameters);
        event ExecutionEnd Finished;
    }

    public delegate void ExecutionEnd();
}
